The present invention relates to a motion picture coding/decoding system, and more particularly to a suitable system having a motion vector coding unit and a motion vector decoding unit used in motion vector coding and decoding which are used for picture compression and de-compression of a digital moving picture image.
In an interframe coding of the moving picture image such as a television picture, motion compensation is carried out in order to reduce a deterioration of coding efficiency for moving portions. The motion-compensated coding uses a motion vector representing a moving direction and velocity of the motion picture. For example, an official gazette of the Japanese Patent Publication No. 63- 20075 (1988) has disclosed a so-called block matching method in which a process is utilized by detecting a motion vector by a two-dimesional block unit.
Here, there will be described the motion vector detection process in the block matching method with reference to FIGS. 10A, 10B and 11. In this method, as shown in FIGS. 10A and 10B, a correlation is detected between a present block QB of an input image Q of a present frame and a plurality of blocks XBi (i=1, 2, 3, . . . ) to which trial vectors VKi (i=1, 2, 3, . . . ) are displaced from positions corresponding to the present blocks in a previous frame designated as a reference (or comparison) image X. The many blocks XBi are set within a compensation range, which are shown by a plurality of dots in FIG. 11. As the result, a predetermined block including the same or corresponding image, has the largest correlation, and a trial vector thereof is detected as the motion vector.
However, the above method is not practical because an operation quantity for determining the motion vector becomes large. For improving the block matching method, an interframe coding method is disclosed in the Japanese Patent Publication No. 63-20075 (1988). As shown in FIGS. 12A and 12B, a motion vector is obtained by operation in multistage on the basis of an input image Q and a reference image X.
In both figures, a pixel block QB is cut out from the input image Q as an original picture image. On the other hand, four pixel blocks of the reference image X displacing at predetermined positions in four direction against the position of the block QB, namely blocks XBa, XBb, XBc and XBd each having centers A, B, C and D, are respectively cut out. A correlation between the block QB and four blocks XBa-XBd is obtained by using a pricing function, thereby obtaining a motion vector D1 of a first stage having the strongest correlation.
Next, predetermined pixel blocks XBd1-XBd9, which exist respectively at positions in nine directions with respect to the motion vector D1, are cut out, respectively. A correlation between the blocks XBd1-XBd9 and the block QB is obtained by the above function, thereby obtaining a motion vector D2 of a second stage having the strongest correlation.
Furthermore, predetermined nine-pixel blocks, which exist respectively at peripheral positions against the motion vector D2, are cut out, respectively. A correlation between these nine blocks and the block QB is obtained by the above function, thereby obtaining a motion vector D3 of a third stage having the strongest correlation in order to detect the final motion vector D.
The motion vectors detected by the methods of FIGS. 10A, 10B, 11, 12A and 12B are processed as shown in FIG. 13. A differential vector .DELTA.V.sub.n is obtained between both adjacent blocks in the horizontal direction (or the vertical direction) to the obtained motion vector, and the initial vector V.sub.0 and the differential vectors .DELTA.V.sub.n are coded, so that the entire motion vector V is coded.
In the decoding operation, the initial vector V.sub.0 is first decoded, the differential vectors .DELTA.V.sub.n are sequentially decoded in the manner that the differential vector .DELTA.V.sub.n is added to the former vector V.sub.n-1 immediately prior, thereby performing the decoding.
On the other hand, Japanese Patent Application Laid-open No. 57-199379 (1982) discloses a vector coding system performing a vector coding by using a variable length code. The system operates to change the detected motion vector into a vector having a small absolute value. In the system, the variable length code is determined according to a magnitude of the absolute value. Namely, the short length code is added to the vector having the small absolute value, while the long length code is added to the vector having the large absolute value. Furthermore, a code is added to distinguish the directions of the vectors. Accordingly, the motion vector is decoded for data compression by using the variable length code of each vector, which is constructed by a short length code to a vector having a small absolute value.
However, the conventional motion vector coding/decoding system has the demerit that it is impossible to obtain the sufficient compression effect because of the use of only the horizontal motion vector.
Furthermore, when an error such as .DELTA.V10 occurs in the transmission path, the system has the problem that entire vectors such as .DELTA.V10 to .DELTA.Vn after the vector .DELTA.V10 are wrong.
Still furthermore, when the motion compensation value is set in the large range, the system has the problems that the differential motion vector has to be a large value and the code book for a variable length coding becomes large.